#ifndef __IM_TYPE_INTERNAL_H__
#define __IM_TYPE_INTERNAL_H__

#include <im_base_types.h>
#include <im_type.h>
/**
 * @defgroup IMTypeInternal
 * @ingroup PrivateIMBus
 * @{
 */

IM_BEGIN_DECLS

void        __im_type_register_builtin_class    (IMType              parent,
                                                 IMType              type,
                                                 const IMChar       *class_name,
                                                 const IMTypeInfo   *type_info,
                                                 IMBool              instantiatable);

void        __im_type_register_object           ();     /**< Implemented in im_object.c **/
void        __im_type_register_initially_owned  ();     /**< Implemented in im_object.c **/
void        __im_type_register_value            ();     /**< Implemented in im_value.c **/
void        __im_type_register_value_array      ();     /**< Implemented in im_value_array.c **/
void        __im_type_register_object_array     ();     /**< Implemented in im_object_array.c **/
void        __im_type_register_object_queue     ();     /**< Implemented in im_object_queue.c **/
void        __im_type_register_memory_chunk     ();     /**< Implemented in im_memory_chunk.c **/
void        __im_type_register_stream           ();     /**< Implemented in im_stream.c **/
void        __im_type_register_byte_stream      ();     /**< Implemented in im_byte_stream.c **/
void        __im_type_register_text_stream      ();     /**< Implemented in im_text_stream.c **/

void        __im_type_register_attributes       ();     /**< Implemented in im_attributes.c **/
void        __im_type_register_attr_list        ();     /**< Implemented in im_attributes.c **/

void        __im_type_register_string           ();     /**< Implemented in im_string.c **/
void        __im_type_register_text             ();     /**< Implemented in im_text.c **/
void        __im_type_register_lookup_table     ();     /**< Implemented in im_lookup_table.c **/
void        __im_type_register_property         ();     /**< Implemented in im_properties.c **/
void        __im_type_register_prop_list        ();     /**< Implemented in im_properties.c **/
void        __im_type_register_event            ();     /**< Implemented in im_event.c **/
void        __im_type_register_hotkey           ();     /**< Implemented in im_hotkeys.c **/
void        __im_type_register_hotkey_profile   ();     /**< Implemented in im_hotkeys.c **/
void        __im_type_register_component_info   ();     /**< Implemented in im_component_info.c **/

void        __im_type_register_io_channel       ();     /**< Implemented in im_io_channel.c **/
void        __im_type_register_io_channel_unix  ();     /**< Implemented in im_io_unix.c **/
void        __im_type_register_connection       ();     /**< Implemented in im_connection.c **/
void        __im_type_register_main_loop        ();     /**< Implemented in im_main_loop.c **/
void        __im_type_register_main_loop_unix   ();     /**< Implemented in im_main_loop_unix.c **/
void        __im_type_register_server           ();     /**< Implemented in im_server.c **/
void        __im_type_register_server_unix      ();     /**< Implemented in im_server_unix.c **/
void        __im_type_register_address          ();     /**< Implemented in im_address.c **/
void        __im_type_register_address_unix     ();     /**< Implemented in im_address_unix.c **/

void        __im_type_register_module           ();     /**< Implemented in im_module.c **/

IM_END_DECLS
/** @} */

#endif
/*
vi:ts=4:nowrap:ai:expandtab
*/
